<template>
  <div style="height: 400px;">
    <table>
      <tr>
        <td>
          <el-checkbox v-model="OpenIndexReOrganize"><span style="font-size:14px;">启用自动重组索引</span></el-checkbox>
        </td>
        <td style="padding-left: 30px;">重组索引执行时间点：</td>
        <td>
          <el-input-number v-model="execTime" placeholder="重组索引执行时间点" :step="1" :min="0" :max="23"></el-input-number>
        </td>
      </tr>
      <tr>
        <td colspan="10" style="line-height:30px;font-size:14px;">
          注意：此功能由网站后台自动执行，无需在数据库中进行配置<br>
          <span style="color:red;">iis应用程序池中的闲置超时要设置成0</span><br>
          执行时间点要与完整备份时间点错开，根据不同的数据库大小至少预留一个小时的执行时间<br>
          执行时间点不允许设置在早上7点至晚上20点之间<br>
          执行结果在本菜单可以查询（只保留最近3个月的记录）<br>
          执行前一周要关注一下是否都成功执行了<br>
          <span style="color:red;">勾选后一定要删除原有的重组索引的维护计划或作业</span><br>

        </td>
      </tr>
    </table>
  </div>
</template>

<script>
export default {
  props: { params: { type: Object } },
  data() {
    return {
      OpenIndexReOrganize: false,
      execTime: 2,
    };
  },
  watch: {},
  beforeCreate() { },
  created() { },
  beforeMount() { },
  mounted() {
    if (this.params) {
      this.OpenIndexReOrganize = this.params.OpenIndexReOrganize;
      this.execTime = this.params.execTime;
    }
  },
  activated() { },
  deactivated() { },
  beforeUpdate() { },
  updated() { },
  beforeDestroy() { },
  destroyed() { },
  methods: {
    async confirm() {
      if (this.execTime > 7 && this.execTime < 20) {
        await this.$alert("早上7点之后，晚上20点之前，禁止进行索引维护，会造成业务卡顿！！");
        throw new Error("执行时间点非法");
        return;
      }
      try {
        let res = await this.$tool.request({
          url: "MNG/MNG1/MNG181",
          method: "post",
          data: {
            action: "saveSeting",
            openflag: this.OpenIndexReOrganize ? "1" : "0",
            exectime: this.execTime,
          },
        });
        if (res.flag == -1) {
          await this.$alert(res.msg);
          throw new Error("保存失败");
          return;
        }
      } catch (err) {
        await this.$alert(err);
        throw new Error("保存异常");
        return;
      }
    },
  },
  computed: {},
};
</script>
